package VN.EDU.IMIC.DEVELOPER.DOMINHNGOC;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;


public class DemoArrayList02 {	
	public static void main (String[] args){
		List<Students> lis01 = new ArrayList<Students>();
		List<Students> lis02 = new ArrayList<Students>();
		
		//2. Thêm sinh viên vào danh sách
		Students objSV01 = new Students();
		Students objSV02 = new Students();
		Students objSV03 = new Students();
		
		objSV01.setRollNo("SV001");
		objSV01.setFullName("Nguyễn Văn A");
		objSV01.setEmail("a@gmail.com");
		objSV01.setMobiles("09888888");
		objSV01.setMark(10);
		
		objSV02.setRollNo("SV002");
		objSV02.setFullName("Trần Thị B");
		objSV02.setEmail("b@gmail.com");
		objSV02.setMobiles("099999999");
		objSV02.setMark(9);
		
		objSV03.setRollNo("SV003");
		objSV03.setFullName("Hoàng Thị C");
		objSV03.setEmail("c@gmail.com");
		objSV03.setMobiles("099999999");
		objSV03.setMark(8);
		
		lis01.add(objSV01);
		lis01.add(objSV02);
		lis01.add(objSV03);
		//3. Hiển thị thông tin trong List
		System.out.println("-----------List01---------------");
		for(int i = 0;i<lis01.size();i++){
		System.out.println("lis01("+ i + ") = "+ lis01.get(i).getRollNo());
		System.out.println("lis01("+ i + ") = "+ lis01.get(i).getFullName());
		System.out.println("lis01("+ i + ") = "+ lis01.get(i).getEmail());
		System.out.println("lis01("+ i + ") = "+ lis01.get(i).getMobiles());
		System.out.println("lis01("+ i + ") = "+ lis01.get(i).getMark());
		System.out.println("");
		}
		//4. Sao chép toàn bộ dữ liệu trong Lis01 sang Lis02
		lis02.addAll(lis01);
		System.out.println("-----------List02---------------");
		
		//5. Hiển thị dữ liệu trong lis02
		for(int i = 0;i<lis02.size();i++){
		System.out.println("lis02("+ i + ") = "+ lis02.get(i).getRollNo());
		System.out.println("lis02("+ i + ") = "+ lis02.get(i).getFullName());
		System.out.println("lis02("+ i + ") = "+ lis02.get(i).getEmail());
		System.out.println("lis02("+ i + ") = "+ lis02.get(i).getMobiles());
		System.out.println("lis02("+ i + ") = "+ lis02.get(i).getMark());
		System.out.println("");
		}
		//6. Sắp xếp dữ liệu trong Mảng
		
		Collections.sort(lis02, new Comparator<Students>() {
		//So sánh và Sắp xếp theo tên của Sinh Viên
		public int compare(Students objA, Students objB) {
			return objB.getFullName().compareTo(objA.getFullName());
		};
		} );
		System.out.println("------Sort-----------------");
		for(int i = 0;i<lis02.size();i++){
		System.out.println("lis02("+ i + ") = "+ lis02.get(i).getRollNo());
		System.out.println("lis02("+ i + ") = "+ lis02.get(i).getFullName());
		System.out.println("lis02("+ i + ") = "+ lis02.get(i).getEmail());
		System.out.println("lis02("+ i + ") = "+ lis02.get(i).getMobiles());
		System.out.println("lis02("+ i + ") = "+ lis02.get(i).getMark());
		}
		
}
}
